home *** CD-ROM | disk | FTP | other *** search
/ Top 200 Programs / Top 200 Programs.iso / Bob8 / THOMPSON / LIBERTY / PRODUCT / LB14W.EXE / DRAWX.BAS < prev    next >
BASIC Source File  |  1996-01-08  |  5KB  |  188 lines

  1.  
  2.     nomainwin
  3.  
  4.     lineThickness$ = "1"
  5.  
  6.     menu #1, &Object, "&Line", [setForLine], &Ellipse, [setForEllipse], &Box, [setForBox]
  7.     menu #1, &Color, &Red, [colorRed], &Yellow, [colorYellow], &Green, [colorGreen], &Blue, [colorBlue]
  8.     menu #1, &Drawing, "&Line Thickness", [lineThickness], "&Print", [printIt]
  9.  
  10.     bmpbutton #1, "bmp\redbttn.bmp", [colorRed], UL, 5, 5
  11.     bmpbutton #1, "bmp\yllwbttn.bmp", [colorYellow], UL, 40, 5
  12.     bmpbutton #1, "bmp\grnbttn.bmp", [colorGreen], UL, 75, 5
  13.     bmpbutton #1, "bmp\bluebttn.bmp", [colorBlue], UL, 110, 5
  14.     bmpbutton #1, "bmp\panbttn.bmp", [setForPan], UR, 110, 5
  15.     bmpbutton #1, "bmp\circbttn.bmp", [setForEllipse], UR, 40, 5
  16.     bmpbutton #1, "bmp\sqrbttn.bmp", [setForBox], UR, 5, 5
  17.     bmpbutton #1, "bmp\linebttn.bmp", [setForLine], UR, 75, 5
  18.  
  19.     graphicbox #1.graph, 5, 37, 300, 200
  20.  
  21.     WindowWidth = 312
  22.     WindowHeight = 282
  23.  
  24.     open "Liberty Draw" for graphics_nsb_nf as #1
  25.     print #1, "trapclose [quit]"
  26.     print #1, "fill lightgray ; flush"
  27.     print #1.graph, "when rightButtonUp [cls]"
  28.     print #1.graph, "down"
  29.     print #1.graph, "color black"
  30.     goto [setForLine]
  31.  
  32. [inputLoop]
  33.     scan
  34.     goto [inputLoop]
  35.  
  36. [startDraw]
  37.     startX = MouseX
  38.     startY = MouseY
  39.     print #1.graph, "place "; startX; " "; startY
  40.     goto [inputLoop]
  41.  
  42. [firstLine]
  43.     print #1.graph, "when leftButtonMove [trackLine]"
  44.     print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
  45.     oMouseY = MouseY
  46.     oMouseX = MouseX
  47.     goto [inputLoop]
  48.  
  49. [firstFrame]
  50.     print #1.graph, "when leftButtonMove [trackBox]"
  51.     print #1.graph, "box "; MouseX; " "; MouseY
  52.     oMouseY = MouseY
  53.     oMouseX = MouseX
  54.     goto [inputLoop]
  55.  
  56. [trackBox]
  57.     print #1.graph, "color white"
  58.     print #1.graph, "box "; oMouseX; " "; oMouseY
  59.     print #1.graph, "color black"
  60.     print #1.graph, "place "; startX; " "; startY
  61.     print #1.graph, "box "; MouseX; " "; MouseY
  62.     oMouseY = MouseY
  63.     oMouseX = MouseX
  64.     goto [inputLoop]
  65.  
  66. [trackLine]
  67.     print #1.graph, "color white"
  68.     print #1.graph, "line "; startX; " "; startY; " "; oMouseX; " "; oMouseY
  69.     print #1.graph, "color black"
  70.     print #1.graph, "place "; startX; " "; startY
  71.     print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
  72.     oMouseY = MouseY
  73.     oMouseX = MouseX
  74.     goto [inputLoop]
  75.  
  76. [finishLine]
  77.     print #1.graph, "when leftButtonMove [firstLine]"
  78.     print #1.graph, "discard"
  79.     print #1.graph, "line "; startX; " "; startY; " "; MouseX; " "; MouseY
  80.     print #1.graph, "flush ; redraw"
  81.     goto [inputLoop]
  82.  
  83. [finishBox]
  84.     print #1.graph, "when leftButtonMove [firstFrame]"
  85.     print #1.graph, "discard"
  86.     print #1.graph, "boxfilled "; MouseX; " "; MouseY
  87.     print #1.graph, "flush ; redraw"
  88.     goto [inputLoop]
  89.  
  90. [finishEllipse]
  91.     print #1.graph, "when leftButtonMove [firstFrame]"
  92.     print #1.graph, "discard"
  93.     print #1.graph, "place "; int((startX+MouseX)/2); " ";  int((startY+MouseY)/2)
  94.     print #1.graph, "ellipsefilled "; abs(MouseX-startX); " "; abs(MouseY-startY)
  95.     print #1.graph, "flush ; redraw"
  96.     goto [inputLoop]
  97.  
  98. [cls]
  99.     print #1.graph, "cls"
  100.     goto [inputLoop]
  101.  
  102.  
  103. [setForLine]
  104.  
  105.     print #1.graph, "when leftButtonDown [startDraw]"
  106.     print #1.graph, "when leftButtonMove [firstLine]"
  107.     print #1.graph, "when leftButtonUp [finishLine]"
  108.     goto [inputLoop]
  109.  
  110. [setForBox]
  111.  
  112.     print #1.graph, "when leftButtonDown [startDraw]"
  113.     print #1.graph, "when leftButtonMove [firstFrame]"
  114.     print #1.graph, "when leftButtonUp [finishBox]"
  115.     goto [inputLoop]
  116.  
  117. [setForEllipse]
  118.  
  119.     print #1.graph, "when leftButtonDown [startDraw]"
  120.     print #1.graph, "when leftButtonMove [firstFrame]"
  121.     print #1.graph, "when leftButtonUp [finishEllipse]"
  122.     goto [inputLoop]
  123.  
  124. [setForPan]
  125.  
  126.     filedialog "Get *.bmp file", "bmp\*.bmp", panFile$
  127.     if panFile$ = "" then [inputLoop]
  128.  
  129.     loadbmp "panWithMe", panFile$
  130.     print #1.graph, "when leftButtonDown [drawBmp]"
  131.     print #1.graph, "when leftButtonMove [drawBmp]"
  132.     print #1.graph, "when leftButtonUp [flushBmp]"
  133.     goto [inputLoop]
  134.  
  135. [drawBmp]
  136.  
  137.     print #1.graph, "drawbmp panWithMe "; MouseX; " "; MouseY
  138.     goto [inputLoop]
  139.  
  140. [flushBmp]
  141.  
  142.     print #1.graph, "flush"
  143.     goto [inputLoop]
  144.  
  145. [colorRed]
  146.  
  147.     print #1.graph, "backcolor red"
  148.     goto [inputLoop]
  149.  
  150.  
  151. [colorYellow]
  152.  
  153.     print #1.graph, "backcolor yellow"
  154.     goto [inputLoop]
  155.  
  156.  
  157. [colorGreen]
  158.  
  159.     print #1.graph, "backcolor green"
  160.     goto [inputLoop]
  161.  
  162.  
  163. [colorBlue]
  164.  
  165.     print #1.graph, "backcolor blue"
  166.     goto [inputLoop]
  167.  
  168.  
  169. [lineThickness]
  170.  
  171.     prompt "Line Thickness"; lineThickness$
  172.     print #1.graph, "size "; lineThickness$
  173.     goto [inputLoop]
  174.  
  175.  
  176. [printIt]
  177.  
  178.     print #1.graph, "print"
  179.     goto [inputLoop]
  180.  
  181.  
  182. [quit]
  183.  
  184.     confirm "Are you sure?"; answer$
  185.     if answer$ = "no" then [inputLoop]
  186.     close #1
  187.     end
  188.